Module (programmation)
part 1/2 Β· 4.1 KB total
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Un module désigne originellement un fichier de code de programmation ou un fichier de bibliothèque statique ou dynamique.
Pour reprendre l'image de la programmation objet, un module est une instance unique qui n'utilise pas d'hΓ©ritage et ne contient aucun module fils. Chaque module peut exporter ou importer certains symboles comme des variables, des fonctions ou des classes. Les modules peuvent se regrouper en package (espace de noms) Γ©ventuellement hiΓ©rarchique.
Dans l'histoire de la programmation, la programmation modulaire succède à la programmation procédurale et donnera naissance à la programmation orientée objet.
Quand on parle de programmation modulaire on parle du C qui a utilisΓ©, en premier lieu, ce principe pour scinder la compilation de projet. Dans ce cas, un module est identifiΓ© par un fichier de dΓ©claration (en-tΓͺtes ou prototypes) et un fichier de description (dΓ©finition ou code). On n'est plus obligΓ© de recompiler l'ensemble d'un programme lorsque seuls quelques modules sont modifiΓ©s. Les fonctions et variables dΓ©clarΓ©es dans le fichier de dΓ©claration sont publiques et peuvent Γͺtre utilisΓ©es par n'importe quel autre module, il s'agit de l'interface du modulecite-ref-1[1]. Les fonctions et variables dΓ©clarΓ©es dans le fichier de description sont privΓ©es et ne peuvent Γͺtre utilisΓ©es que par ce module particulier.
En Java, on n'utilise gΓ©nΓ©ralement pas le terme de module, mais certains compilateurs permettent de dΓ©clarer plusieurs classes successives (sans imbrication) dans un mΓͺme fichier. On peut alors considΓ©rer un fichier de code Java comme un module contenant un ensemble de classes.
En Python, chaque fichier peut Γͺtre considΓ©rΓ© comme un module Γ partir du moment oΓΉ le fichier l'important se trouve dans le mΓͺme rΓ©pertoire que le module, autrement il sera impossible de l'importer.
Les langages Modula et Ada sont typiquement modulaires avec des instructions pour la gestion des modules. Le langage C/C++ est modulaire mais les instructions pour la gestion des modules se retrouvent dans un langage de prétraitement (dédié au préprocesseur). Le langage Objective Caml, qui repose essentiellement sur la programmation fonctionnelle et modulaire, propose un système de modules récursifs et paramétrables très puissant qui permet de fournir une grande généricité au code.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ